<?php
/*
    OpenLib
    Copyright (C) 2011  Michael Gukov, Pham Thi Thuy Duong

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/


namespace Sun\Html;

class QueryTable extends Table
{
    public function __construct($data, array $title, $odd = true, array $attr = array())
    {
        parent::__construct($attr);

        $this->SetAttribute("class", "QueryTable");
        $body = $this->AddBody()->Added();
        $body->Add(TRow::FromArray(Text::Fabricate($title)));

        for ($i = 0; $i < count($data); ++$i) {
            $row = $data[$i];
            if ($row === null) break;

            $tr = new TRow();
            foreach ($data[$i] as $cell) {
                $tr->AddData();
                if ($cell instanceof IComponent) {
                    $tr->Added()->Add($cell);
                } else {
                    $tr->Added()->Add(new Text($cell));
                }
            }

            if ($odd && $i % 2 == 0) $tr->SetAttribute("class", "Odd");
            $body->Add($tr);
        }

        $body->First()->SetAttribute("class", "Head");
    }
}